{
 "cells": [
  {
   "cell_type": "code",
   "id": "603ae327-d834-4074-b8f0-5801669a6f26",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:18.748731Z",
     "iopub.status.busy": "2025-06-17T07:16:18.747971Z",
     "iopub.status.idle": "2025-06-17T07:16:18.753997Z",
     "shell.execute_reply": "2025-06-17T07:16:18.753513Z",
     "shell.execute_reply.started": "2025-06-17T07:16:18.748662Z"
    },
    "papermill": {
     "duration": 0.160721,
     "end_time": "2024-10-21T09:47:46.550380",
     "exception": false,
     "start_time": "2024-10-21T09:47:46.389659",
     "status": "completed"
    },
    "tags": [],
    "ExecuteTime": {
     "end_time": "2025-06-25T15:49:19.125645Z",
     "start_time": "2025-06-25T15:49:19.122927Z"
    }
   },
   "source": [
    "%env LLM_BASE_URL=https://api.siliconflow.cn/v1\n",
    "%env LLM_API_KEY=sk-替换为自己的秘钥"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "env: LLM_BASE_URL=https://api.siliconflow.cn/v1\n",
      "env: LLM_API_KEY=sk-替换为自己的秘钥\n"
     ]
    }
   ],
   "execution_count": 1
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "af375836-b870-458b-87d1-4e00565977eb",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:18.754833Z",
     "iopub.status.busy": "2025-06-17T07:16:18.754711Z",
     "iopub.status.idle": "2025-06-17T07:16:18.766956Z",
     "shell.execute_reply": "2025-06-17T07:16:18.766610Z",
     "shell.execute_reply.started": "2025-06-17T07:16:18.754821Z"
    },
    "papermill": {
     "duration": 0.093148,
     "end_time": "2024-10-21T09:47:46.752626",
     "exception": false,
     "start_time": "2024-10-21T09:47:46.659478",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "%%capture --no-stderr\n",
    "!pip install -U langchain langchain_community pypdf sentence_transformers chromadb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "1e2c72b8-ee12-4130-af88-699998aa230c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:18.767501Z",
     "iopub.status.busy": "2025-06-17T07:16:18.767365Z",
     "iopub.status.idle": "2025-06-17T07:16:19.002102Z",
     "shell.execute_reply": "2025-06-17T07:16:19.001519Z",
     "shell.execute_reply.started": "2025-06-17T07:16:18.767488Z"
    },
    "papermill": {
     "duration": 0.332789,
     "end_time": "2024-10-21T09:47:47.171449",
     "exception": false,
     "start_time": "2024-10-21T09:47:46.838660",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "841d2b02-ad06-40d2-b11f-c7adccec6ca2",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:19.002873Z",
     "iopub.status.busy": "2025-06-17T07:16:19.002682Z",
     "iopub.status.idle": "2025-06-17T07:16:19.056761Z",
     "shell.execute_reply": "2025-06-17T07:16:19.056176Z",
     "shell.execute_reply.started": "2025-06-17T07:16:19.002859Z"
    },
    "papermill": {
     "duration": 0.143527,
     "end_time": "2024-10-21T09:47:47.438046",
     "exception": false,
     "start_time": "2024-10-21T09:47:47.294519",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "expr_version = '01_baseline_scoring_qwen3_32b_250607'\n",
    "\n",
    "preprocess_output_dir = os.path.join('outputs', 'v1_20240713')\n",
    "expr_dir = os.path.join('experiments', expr_version)\n",
    "\n",
    "os.makedirs(expr_dir, exist_ok=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cf7e81e3-4c82-4842-aef5-7592caaf1d39",
   "metadata": {
    "papermill": {
     "duration": 0.13295,
     "end_time": "2024-10-21T09:47:47.712520",
     "exception": false,
     "start_time": "2024-10-21T09:47:47.579570",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "# 读取文档"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "e6920e29-bc7d-4635-be06-d151eaf0e100",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:19.058378Z",
     "iopub.status.busy": "2025-06-17T07:16:19.058199Z",
     "iopub.status.idle": "2025-06-17T07:16:20.702061Z",
     "shell.execute_reply": "2025-06-17T07:16:20.701591Z",
     "shell.execute_reply.started": "2025-06-17T07:16:19.058360Z"
    },
    "papermill": {
     "duration": 1.694937,
     "end_time": "2024-10-21T09:47:49.508434",
     "exception": false,
     "start_time": "2024-10-21T09:47:47.813497",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "from langchain_community.document_loaders import PyPDFLoader\n",
    "\n",
    "loader = PyPDFLoader(os.path.join('data', '2024全球经济金融展望报告.pdf'))\n",
    "documents = loader.load()\n",
    "\n",
    "qa_df = pd.read_excel(os.path.join(preprocess_output_dir, 'question_answer.xlsx'))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "841ec659-4ad7-4e1f-b1ea-3477bf97fde3",
   "metadata": {
    "papermill": {
     "duration": 0.088687,
     "end_time": "2024-10-21T09:47:49.728682",
     "exception": false,
     "start_time": "2024-10-21T09:47:49.639995",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "# 文档切分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "74fe856a-7c19-4c3c-bb30-7abfa6298f74",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:20.702940Z",
     "iopub.status.busy": "2025-06-17T07:16:20.702729Z",
     "iopub.status.idle": "2025-06-17T07:16:20.712706Z",
     "shell.execute_reply": "2025-06-17T07:16:20.712248Z",
     "shell.execute_reply.started": "2025-06-17T07:16:20.702926Z"
    },
    "papermill": {
     "duration": 0.136584,
     "end_time": "2024-10-21T09:47:49.988433",
     "exception": false,
     "start_time": "2024-10-21T09:47:49.851849",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "from uuid import uuid4\n",
    "import os\n",
    "import pickle\n",
    "\n",
    "from langchain.text_splitter import RecursiveCharacterTextSplitter\n",
    "\n",
    "def split_docs(documents, filepath, chunk_size=400, chunk_overlap=40, seperators=['\\n\\n\\n', '\\n\\n'], force_split=False):\n",
    "    if os.path.exists(filepath) and not force_split:\n",
    "        print('found cache, restoring...')\n",
    "        return pickle.load(open(filepath, 'rb'))\n",
    "\n",
    "    splitter = RecursiveCharacterTextSplitter(\n",
    "        chunk_size=chunk_size,\n",
    "        chunk_overlap=chunk_overlap,\n",
    "        separators=seperators\n",
    "    )\n",
    "    split_docs = splitter.split_documents(documents)\n",
    "    for chunk in split_docs:\n",
    "        chunk.metadata['uuid'] = str(uuid4())\n",
    "\n",
    "    pickle.dump(split_docs, open(filepath, 'wb'))\n",
    "\n",
    "    return split_docs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "aa25540d-0504-4ae7-9804-9e3862b132d5",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:20.713451Z",
     "iopub.status.busy": "2025-06-17T07:16:20.713274Z",
     "iopub.status.idle": "2025-06-17T07:16:20.720075Z",
     "shell.execute_reply": "2025-06-17T07:16:20.719652Z",
     "shell.execute_reply.started": "2025-06-17T07:16:20.713417Z"
    },
    "papermill": {
     "duration": 0.143198,
     "end_time": "2024-10-21T09:47:50.228886",
     "exception": false,
     "start_time": "2024-10-21T09:47:50.085688",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "found cache, restoring...\n"
     ]
    }
   ],
   "source": [
    "splitted_docs = split_docs(documents, os.path.join(preprocess_output_dir, 'split_docs.pkl'), chunk_size=500, chunk_overlap=50)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "220dbc3a-fceb-4e49-a3f1-01e16660b2a6",
   "metadata": {
    "papermill": {
     "duration": 0.153128,
     "end_time": "2024-10-21T09:47:50.483783",
     "exception": false,
     "start_time": "2024-10-21T09:47:50.330655",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "# 检索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "8598a11c-25d8-4af1-a98b-06a8c394e261",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:20.720709Z",
     "iopub.status.busy": "2025-06-17T07:16:20.720559Z",
     "iopub.status.idle": "2025-06-17T07:16:21.785217Z",
     "shell.execute_reply": "2025-06-17T07:16:21.784728Z",
     "shell.execute_reply.started": "2025-06-17T07:16:20.720697Z"
    },
    "papermill": {
     "duration": 1.065741,
     "end_time": "2024-10-21T09:47:51.686578",
     "exception": false,
     "start_time": "2024-10-21T09:47:50.620837",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "device: cuda\n"
     ]
    }
   ],
   "source": [
    "from langchain.embeddings import HuggingFaceBgeEmbeddings\n",
    "from langchain_community.vectorstores import Chroma\n",
    "import torch\n",
    "\n",
    "device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",
    "print(f'device: {device}')\n",
    "\n",
    "def get_embeddings(model_path):\n",
    "    embeddings = HuggingFaceBgeEmbeddings(\n",
    "        model_name=model_path,\n",
    "        model_kwargs={'device': device},\n",
    "        encode_kwargs={'normalize_embeddings': True},\n",
    "        # show_progress=True\n",
    "        query_instruction='为这个句子生成表示以用于检索相关文章：'\n",
    "    )\n",
    "    return embeddings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "663ef1a4-5866-4f6b-8d9d-4724f62142cb",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:21.786035Z",
     "iopub.status.busy": "2025-06-17T07:16:21.785745Z",
     "iopub.status.idle": "2025-06-17T07:16:34.279810Z",
     "shell.execute_reply": "2025-06-17T07:16:34.277425Z",
     "shell.execute_reply.started": "2025-06-17T07:16:21.786021Z"
    },
    "papermill": {
     "duration": 16.301746,
     "end_time": "2024-10-21T09:48:08.111704",
     "exception": false,
     "start_time": "2024-10-21T09:47:51.809958",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[2025-06-17 15:16:24,184] [INFO] [real_accelerator.py:239:get_accelerator] Setting ds_accelerator to cuda (auto detect)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/bin/ld: cannot find -laio\n",
      "collect2: error: ld returned 1 exit status\n",
      "/usr/bin/ld: /usr/local/cuda/lib64/libcufile.so: undefined reference to `dlvsym'\n",
      "/usr/bin/ld: /usr/local/cuda/lib64/libcufile.so: undefined reference to `dlopen'\n",
      "/usr/bin/ld: /usr/local/cuda/lib64/libcufile.so: undefined reference to `dlclose'\n",
      "/usr/bin/ld: /usr/local/cuda/lib64/libcufile.so: undefined reference to `dlerror'\n",
      "/usr/bin/ld: /usr/local/cuda/lib64/libcufile.so: undefined reference to `dlsym'\n",
      "collect2: error: ld returned 1 exit status\n"
     ]
    }
   ],
   "source": [
    "import jieba\n",
    "import shutil\n",
    "\n",
    "from tqdm.auto import tqdm\n",
    "from langchain_community.vectorstores import Chroma\n",
    "\n",
    "model_path = 'BAAI/bge-large-zh-v1.5'\n",
    "embeddings = get_embeddings(model_path)\n",
    "\n",
    "persist_directory = os.path.join(expr_dir, 'chroma', 'bge')\n",
    "shutil.rmtree(persist_directory, ignore_errors=True)\n",
    "vector_db = Chroma.from_documents(\n",
    "    splitted_docs,\n",
    "    embedding=embeddings,\n",
    "    persist_directory=persist_directory\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "566c6f3c-5777-4aa9-bc60-a3ee23050506",
   "metadata": {
    "papermill": {
     "duration": 0.133402,
     "end_time": "2024-10-21T09:48:08.334056",
     "exception": false,
     "start_time": "2024-10-21T09:48:08.200654",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## 计算检索准确率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "b03e3382-39e9-4932-a265-69b811041629",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:34.283459Z",
     "iopub.status.busy": "2025-06-17T07:16:34.282719Z",
     "iopub.status.idle": "2025-06-17T07:16:34.295227Z",
     "shell.execute_reply": "2025-06-17T07:16:34.294709Z",
     "shell.execute_reply.started": "2025-06-17T07:16:34.283388Z"
    },
    "papermill": {
     "duration": 0.143043,
     "end_time": "2024-10-21T09:48:08.577718",
     "exception": false,
     "start_time": "2024-10-21T09:48:08.434675",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "test_df = qa_df[(qa_df['dataset'] == 'test') & (qa_df['qa_type'] == 'detailed')]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "32c3ad14-b217-44aa-bdb9-909b9d559668",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:34.295943Z",
     "iopub.status.busy": "2025-06-17T07:16:34.295767Z",
     "iopub.status.idle": "2025-06-17T07:16:34.301927Z",
     "shell.execute_reply": "2025-06-17T07:16:34.301505Z",
     "shell.execute_reply.started": "2025-06-17T07:16:34.295930Z"
    },
    "papermill": {
     "duration": 0.134389,
     "end_time": "2024-10-21T09:48:08.814223",
     "exception": false,
     "start_time": "2024-10-21T09:48:08.679834",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "def get_hit_stat_df(top_k_arr=list(range(1, 9))):\n",
    "    hit_stat_data = []\n",
    "\n",
    "    for k in tqdm(top_k_arr):\n",
    "        for idx, row in test_df.iterrows():\n",
    "            question = row['question']\n",
    "            true_uuid = row['uuid']\n",
    "            # chunks = retrieve_fn(question, k=k)\n",
    "            chunks = vector_db.similarity_search(question, k=k)\n",
    "            retrieved_uuids = [doc.metadata['uuid'] for doc in chunks]\n",
    "\n",
    "            hit_stat_data.append({\n",
    "                'question': question,\n",
    "                'top_k': k,\n",
    "                'hit': int(true_uuid in retrieved_uuids),\n",
    "                'retrieved_chunks': len(chunks)\n",
    "            })\n",
    "    hit_stat_df = pd.DataFrame(hit_stat_data)\n",
    "    return hit_stat_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "a63797c7-4151-4f55-8e5d-080c34265393",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:34.302541Z",
     "iopub.status.busy": "2025-06-17T07:16:34.302388Z",
     "iopub.status.idle": "2025-06-17T07:16:55.179859Z",
     "shell.execute_reply": "2025-06-17T07:16:55.179475Z",
     "shell.execute_reply.started": "2025-06-17T07:16:34.302529Z"
    },
    "papermill": {
     "duration": 17.236419,
     "end_time": "2024-10-21T09:48:26.180643",
     "exception": false,
     "start_time": "2024-10-21T09:48:08.944224",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b0eb343def1f44e5b74c010a997f88b7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/8 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "hit_stat_df = get_hit_stat_df()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "d4890789-a44c-41de-b17f-0ff505788494",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:55.180467Z",
     "iopub.status.busy": "2025-06-17T07:16:55.180333Z",
     "iopub.status.idle": "2025-06-17T07:16:55.187349Z",
     "shell.execute_reply": "2025-06-17T07:16:55.187017Z",
     "shell.execute_reply.started": "2025-06-17T07:16:55.180454Z"
    },
    "papermill": {
     "duration": 0.139981,
     "end_time": "2024-10-21T09:48:26.451309",
     "exception": false,
     "start_time": "2024-10-21T09:48:26.311328",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>top_k</th>\n",
       "      <th>hit_rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0.462366</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>0.591398</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>0.688172</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>0.774194</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0.806452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>0.817204</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>0.838710</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>0.849462</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   top_k  hit_rate\n",
       "0      1  0.462366\n",
       "1      2  0.591398\n",
       "2      3  0.688172\n",
       "3      4  0.774194\n",
       "4      5  0.806452\n",
       "5      6  0.817204\n",
       "6      7  0.838710\n",
       "7      8  0.849462"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hit_stat_df.groupby(['top_k'])['hit'].mean().reset_index().rename(columns={'hit': 'hit_rate'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "b0b086d1-6cec-4743-8df6-2ab3b1593689",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:55.188921Z",
     "iopub.status.busy": "2025-06-17T07:16:55.188783Z",
     "iopub.status.idle": "2025-06-17T07:16:55.594672Z",
     "shell.execute_reply": "2025-06-17T07:16:55.594292Z",
     "shell.execute_reply.started": "2025-06-17T07:16:55.188907Z"
    },
    "papermill": {
     "duration": 0.464084,
     "end_time": "2024-10-21T09:48:27.045388",
     "exception": false,
     "start_time": "2024-10-21T09:48:26.581304",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='top_k', ylabel='hit'>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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W7dO999/f4djn3jiCfXr1091dXVauXKlysvL9dhjj53xDD/72c+0ePFivfzyy7r88su769QARFg/qwcAAElKSEhQbGysBg4cqJSUFEnSkiVLlJaWpkceeUQ2m03jx4/XkSNHtGjRIpWWliom5su/n6Wlpemhhx6SzWbTuHHjtHv3bj300EMqLi4+7edftGiRnnzySW3dulUTJ07skXMEEBlcuQEQtd555x3l5eXJZrOF902fPl0ff/yxPvjgg/C+73znOx3W5OXl6d1331UgEDit5/nFL36htWvXatu2bYQNYADiBkCfd+mllyoQCOjpp5+2ehQA3YC4ARA1YmNjO1xtmTBhgmprazvcHPyHP/xBgwcP1vnnnx/e98c//rHD73njjTd04YUXym63n9bz5uTk6MUXX9Ty5cv14IMPfsOzAGA14gZA1EhPT9cf//hHHTx4UM3Nzbr55pvV2NioW265RXv37tVzzz2nsrIyud3u8P02ktTQ0CC32619+/bpV7/6lR5++GEtXLjwjJ572rRp2rJli5YuXcqH+gG9HDcUA4gat99+u4qKipSRkaFPP/1U77//vrZs2aI77rhDU6ZM0bBhwzR//nzdddddHY4rLCzUp59+qpycHNntdi1cuFA/+tGPzvj5v/vd7+qFF17QVVddJbvdrltuuaW7Tg1ABNlCZ/thEAAQBWbOnKnMzEyutgAI42UpAABgFOIGgLF+//vfa9CgQV1uAMzEy1IAjPXpp5/q8OHDXf587NixEZwGQKQQNwAAwCi8LAUAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwyv8HnloC8Cr34s8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "\n",
    "sns.barplot(x='top_k', y='hit', data=hit_stat_df, errorbar=None)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7925564a-7d30-4914-baaf-4a00abb7686d",
   "metadata": {
    "papermill": {
     "duration": 0.100695,
     "end_time": "2024-10-21T09:48:27.282692",
     "exception": false,
     "start_time": "2024-10-21T09:48:27.181997",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "# 生成答案"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "50404beb-3be0-4aaa-b124-8c7a52b84531",
   "metadata": {
    "editable": true,
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:55.595481Z",
     "iopub.status.busy": "2025-06-17T07:16:55.595158Z",
     "iopub.status.idle": "2025-06-17T07:16:55.599342Z",
     "shell.execute_reply": "2025-06-17T07:16:55.598998Z",
     "shell.execute_reply.started": "2025-06-17T07:16:55.595466Z"
    },
    "papermill": {
     "duration": 0.107506,
     "end_time": "2024-10-21T09:48:27.479158",
     "exception": false,
     "start_time": "2024-10-21T09:48:27.371652",
     "status": "completed"
    },
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "import time\n",
    "\n",
    "def rag(llm, query, n_chunks=4):\n",
    "    prompt_tmpl = \"\"\"\n",
    "你是一个金融分析师，擅长根据所获取的信息片段，对问题进行分析和推理。\n",
    "你的任务是根据所获取的信息片段（<<<<context>>><<<</context>>>之间的内容）回答问题。\n",
    "回答保持简洁，不必重复问题，不要添加描述性解释和与答案无关的任何内容。\n",
    "已知信息：\n",
    "<<<<context>>>\n",
    "{{knowledge}}\n",
    "<<<</context>>>\n",
    "\n",
    "问题：{{query}}\n",
    "请回答：\n",
    "\"\"\".strip()\n",
    "    chunks = vector_db.similarity_search(query, k=n_chunks)\n",
    "    prompt = prompt_tmpl.replace('{{knowledge}}', '\\n\\n'.join([doc.page_content for doc in chunks])).replace('{{query}}', query)\n",
    "    retry_count = 3\n",
    "\n",
    "    resp = ''\n",
    "    while retry_count > 0:\n",
    "        try:\n",
    "            resp = llm.invoke(prompt + '/no_think')\n",
    "            resp = resp.split('</think>')[-1].strip()\n",
    "            break\n",
    "        except Exception as e:\n",
    "            retry_count -= 1\n",
    "            sleeping_seconds = 2 ** (4 - retry_count)\n",
    "            print(f\"query={query}, error={e}, sleeping={sleeping_seconds}, remaining retry count={retry_count}\")\n",
    "            \n",
    "            time.sleep(sleeping_seconds)\n",
    "    \n",
    "    return resp, chunks"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "95e5a804-2dc6-411c-ba71-6ccf765b2b73",
   "metadata": {
    "papermill": {
     "duration": 0.110797,
     "end_time": "2024-10-21T09:48:27.684445",
     "exception": false,
     "start_time": "2024-10-21T09:48:27.573648",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## 预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "27132c3b-0051-4df6-bf57-fd804acb8d17",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:55.599963Z",
     "iopub.status.busy": "2025-06-17T07:16:55.599827Z",
     "iopub.status.idle": "2025-06-17T07:16:55.627616Z",
     "shell.execute_reply": "2025-06-17T07:16:55.627131Z",
     "shell.execute_reply.started": "2025-06-17T07:16:55.599950Z"
    },
    "papermill": {
     "duration": 0.174584,
     "end_time": "2024-10-21T09:48:27.948897",
     "exception": false,
     "start_time": "2024-10-21T09:48:27.774313",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_2565194/3342461511.py:3: LangChainDeprecationWarning: The class `Ollama` was deprecated in LangChain 0.3.1 and will be removed in 1.0.0. An updated version of the class exists in the :class:`~langchain-ollama package and should be used instead. To use it run `pip install -U :class:`~langchain-ollama` and import as `from :class:`~langchain_ollama import OllamaLLM``.\n",
      "  ollama_llm = Ollama(\n"
     ]
    }
   ],
   "source": [
    "from langchain.llms import Ollama\n",
    "\n",
    "ollama_llm = Ollama(\n",
    "    model='qwen2:7b-instruct',\n",
    "    base_url='http://localhost:11434',\n",
    "    top_k=1\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "166392d8-f801-4372-b8ad-3e79aef0b350",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:55.628332Z",
     "iopub.status.busy": "2025-06-17T07:16:55.628151Z",
     "iopub.status.idle": "2025-06-17T07:16:55.633421Z",
     "shell.execute_reply": "2025-06-17T07:16:55.633036Z",
     "shell.execute_reply.started": "2025-06-17T07:16:55.628318Z"
    },
    "papermill": {
     "duration": 0.128283,
     "end_time": "2024-10-21T09:48:28.178291",
     "exception": false,
     "start_time": "2024-10-21T09:48:28.050008",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "prediction_df = qa_df[qa_df['dataset'] == 'test'][['uuid', 'question', 'qa_type', 'answer']].rename(columns={'answer': 'ref_answer'})\n",
    "\n",
    "def predict(llm, prediction_df, n_chunks):\n",
    "    prediction_df = prediction_df.copy()\n",
    "    answer_dict = {}\n",
    "\n",
    "    for idx, row in tqdm(prediction_df.iterrows(), total=len(prediction_df)):\n",
    "        uuid = row['uuid']\n",
    "        question = row['question']\n",
    "        answer, chunks = rag(llm, question, n_chunks=n_chunks)\n",
    "        assert len(chunks) <= n_chunks\n",
    "        answer_dict[question] = {\n",
    "            'uuid': uuid,\n",
    "            'ref_answer': row['ref_answer'],\n",
    "            'gen_answer': answer,\n",
    "            'chunks': chunks\n",
    "        }\n",
    "        \n",
    "    prediction_df.loc[:, 'gen_answer'] = prediction_df['question'].apply(lambda q: answer_dict[q]['gen_answer'])\n",
    "    prediction_df.loc[:, 'chunks'] = prediction_df['question'].apply(lambda q: answer_dict[q]['chunks'])\n",
    "\n",
    "    return prediction_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "ca46d5f1-e698-457d-abb6-92d83cd59c66",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:16:55.634065Z",
     "iopub.status.busy": "2025-06-17T07:16:55.633886Z",
     "iopub.status.idle": "2025-06-17T07:20:54.882511Z",
     "shell.execute_reply": "2025-06-17T07:20:54.882054Z",
     "shell.execute_reply.started": "2025-06-17T07:16:55.634052Z"
    },
    "papermill": {
     "duration": 3303.309858,
     "end_time": "2024-10-21T10:43:31.841890",
     "exception": false,
     "start_time": "2024-10-21T09:48:28.532032",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "51229cdbe04b4364ae4b76aa1894caf3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/100 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pred_df = predict(ollama_llm, prediction_df, n_chunks=3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "2bae797d-4c70-40b1-85e9-d84efd9c8a4c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:20:54.883136Z",
     "iopub.status.busy": "2025-06-17T07:20:54.883006Z",
     "iopub.status.idle": "2025-06-17T07:20:54.888919Z",
     "shell.execute_reply": "2025-06-17T07:20:54.888487Z",
     "shell.execute_reply.started": "2025-06-17T07:20:54.883124Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>uuid</th>\n",
       "      <th>question</th>\n",
       "      <th>qa_type</th>\n",
       "      <th>ref_answer</th>\n",
       "      <th>gen_answer</th>\n",
       "      <th>chunks</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>e73a0c9d-d42b-4350-a4c3-b38bf67c68a5</td>\n",
       "      <td>报告的发布机构是什么？</td>\n",
       "      <td>detailed</td>\n",
       "      <td>中国银行研究院</td>\n",
       "      <td>中国银行研究院</td>\n",
       "      <td>[page_content='研究院\\n中国北京市复兴门内大街1号\\n邮编：100818\\n...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>e73a0c9d-d42b-4350-a4c3-b38bf67c68a5</td>\n",
       "      <td>报告的发布日期是什么时候？</td>\n",
       "      <td>detailed</td>\n",
       "      <td>2023年12月12日</td>\n",
       "      <td>2023年12月12日</td>\n",
       "      <td>[page_content='全球经济金融展望报告\\n中国银行研究院 32 2024年\\n图...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                   uuid       question   qa_type   ref_answer  \\\n",
       "0  e73a0c9d-d42b-4350-a4c3-b38bf67c68a5    报告的发布机构是什么？  detailed      中国银行研究院   \n",
       "1  e73a0c9d-d42b-4350-a4c3-b38bf67c68a5  报告的发布日期是什么时候？  detailed  2023年12月12日   \n",
       "\n",
       "    gen_answer                                             chunks  \n",
       "0      中国银行研究院  [page_content='研究院\\n中国北京市复兴门内大街1号\\n邮编：100818\\n...  \n",
       "1  2023年12月12日  [page_content='全球经济金融展望报告\\n中国银行研究院 32 2024年\\n图...  "
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pred_df.head(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7d79e974-089f-4c08-ba5e-804f6542e06a",
   "metadata": {
    "papermill": {
     "duration": 0.099945,
     "end_time": "2024-10-21T10:43:33.358241",
     "exception": false,
     "start_time": "2024-10-21T10:43:33.258296",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "# 评估"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "217568fe-c0e4-49eb-9a7c-9fdfbc033d8a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:20:54.889548Z",
     "iopub.status.busy": "2025-06-17T07:20:54.889426Z",
     "iopub.status.idle": "2025-06-17T07:20:55.474504Z",
     "shell.execute_reply": "2025-06-17T07:20:55.474046Z",
     "shell.execute_reply.started": "2025-06-17T07:20:54.889536Z"
    },
    "papermill": {
     "duration": 0.315295,
     "end_time": "2024-10-21T10:43:33.796568",
     "exception": false,
     "start_time": "2024-10-21T10:43:33.481273",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "from langchain_openai import ChatOpenAI\n",
    "import time\n",
    "\n",
    "judge_llm = ChatOpenAI(\n",
    "    api_key=os.environ['LLM_API_KEY'],\n",
    "    base_url=os.environ['LLM_BASE_URL'],\n",
    "    model_name='Qwen/Qwen3-32B',\n",
    "    temperature=0\n",
    ")\n",
    "\n",
    "def evaluate(prediction_df):\n",
    "    \"\"\"\n",
    "    对预测结果进行打分\n",
    "    :param prediction_df: 预测结果，需要包含问题，参考答案，生成的答案，列名分别为question, ref_answer, gen_answer\n",
    "    :return 打分模型原始返回结果\n",
    "    \"\"\"\n",
    "    prompt_tmpl = \"\"\"\n",
    "你是一个经济学博士，现在我有一系列问题，有一个助手已经对这些问题进行了回答，你需要参照参考答案，评价这个助手的回答是否正确，仅回复“是”或“否”即可，不要带其他描述性内容或无关信息。\n",
    "问题：\n",
    "<question>\n",
    "{{question}}\n",
    "</question>\n",
    "\n",
    "参考答案：\n",
    "<ref_answer>\n",
    "{{ref_answer}}\n",
    "</ref_answer>\n",
    "\n",
    "助手回答：\n",
    "<gen_answer>\n",
    "{{gen_answer}}\n",
    "</gen_answer>\n",
    "请评价：\n",
    "    \"\"\"\n",
    "    results = []\n",
    "\n",
    "    for _, row in prediction_df.iterrows():\n",
    "        question = row['question']\n",
    "        ref_answer = row['ref_answer']\n",
    "        gen_answer = row['gen_answer']\n",
    "\n",
    "        prompt = prompt_tmpl.replace('{{question}}', question).replace('{{ref_answer}}', str(ref_answer)).replace('{{gen_answer}}', gen_answer).strip() + '/no_think'\n",
    "        \n",
    "        retry_count = 3\n",
    "        result = ''\n",
    "        \n",
    "        while retry_count > 0:\n",
    "            try:\n",
    "                result = judge_llm.invoke(prompt).content\n",
    "                result = result.split('</think>')[-1].strip()\n",
    "                break\n",
    "            except Exception as e:\n",
    "                retry_count -= 1\n",
    "                sleeping_seconds = 2 ** (4 - retry_count)\n",
    "                print(f\"query={query}, error={e}, sleeping={sleeping_seconds}, remaining retry count={retry_count}\")\n",
    "                \n",
    "                time.sleep(sleeping_seconds)\n",
    "        \n",
    "        results.append(result)\n",
    "\n",
    "        time.sleep(1)\n",
    "    return results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "71db81af-b8f9-47ba-958b-761896516605",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:20:55.475125Z",
     "iopub.status.busy": "2025-06-17T07:20:55.474994Z",
     "iopub.status.idle": "2025-06-17T07:23:44.886807Z",
     "shell.execute_reply": "2025-06-17T07:23:44.884433Z",
     "shell.execute_reply.started": "2025-06-17T07:20:55.475112Z"
    },
    "papermill": {
     "duration": 1225.330816,
     "end_time": "2024-10-21T11:03:59.278858",
     "exception": false,
     "start_time": "2024-10-21T10:43:33.948042",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "pred_df['raw_score'] = evaluate(pred_df)\n",
    "pred_df['score'] = (pred_df['raw_score'] == '是').astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "d9301fd6-65c6-48af-a925-410bdd4e26ec",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-06-17T07:23:44.890073Z",
     "iopub.status.busy": "2025-06-17T07:23:44.889346Z",
     "iopub.status.idle": "2025-06-17T07:23:44.901359Z",
     "shell.execute_reply": "2025-06-17T07:23:44.899766Z",
     "shell.execute_reply.started": "2025-06-17T07:23:44.890003Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "raw_score unique: ['是' '否'], accuracy=0.79\n"
     ]
    }
   ],
   "source": [
    "print(f\"raw_score unique: {pred_df['raw_score'].unique()}, accuracy={pred_df['score'].mean()}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dc6686de-e2b2-4f67-9143-88c3c2da7cad",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  },
  "papermill": {
   "default_parameters": {},
   "duration": 4577.388105,
   "end_time": "2024-10-21T11:04:02.632107",
   "environment_variables": {},
   "exception": null,
   "input_path": "expr_11_1_baseline_n_chunks.ipynb",
   "output_path": "run_expr_11_1_baseline_n_chunks.ipynb",
   "parameters": {},
   "start_time": "2024-10-21T09:47:45.244002",
   "version": "2.6.0"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "0207e172c7e24242accc316680798ede": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "03b979169b9742d5a2f03331c19857bc": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "049c367d4648434c9af28ca83e8096da": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "055144e229b6406c958d6bf615ac1c2a": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "0695d363132b45f2818b8b472a2014ba": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_599b2d279dd74f789cc17b8517e30247",
       "placeholder": "​",
       "style": "IPY_MODEL_51fdb510be8f42628738029db637e1ae",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "07099eb9d38441b3876499c0ff8a149d": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "0de31ab447204c209d1dbd05fff6239d": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_5f39df918f244b778f6d6bef6fa67010",
       "max": 100,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_7aef4d1307a74da0b4e3055cb2bf56ed",
       "tabbable": null,
       "tooltip": null,
       "value": 100
      }
     },
     "10c13b778a97452a95e5ca16f141a000": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "12085a6871f9475584ec441578e788ce": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "139e631d6e5248fc8f652c23cdf90278": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "17e859dedc5d4731b046870b5747f76e": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "186f9354464c43208bd882a650cec778": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "1b15c66f743744678a2c4b16057c9760": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "27acb957412b49d9b35c1ea0f91d2c94": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "28c09e5d371045b694e7c4f64eed86f8": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "2a151cd858c44fb78ce1d2c3b5f97bb3": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "2a3a07ba6d42497b82417f2a78fa4872": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "2bba49bb2b19426caa82eedbb1031327": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_ce53fe2dbfce4d64aa0c986ca301faa9",
        "IPY_MODEL_c653041fb0844c52bbbb4181f1ac1e0c",
        "IPY_MODEL_e7b525f49246401c9e9e918834489f3b"
       ],
       "layout": "IPY_MODEL_7c721d6503504fb0aae1dfab78ce38c3",
       "tabbable": null,
       "tooltip": null
      }
     },
     "2c0dffdd0a944cd88ecd9da96a4e65b4": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_500c0f4849fd45ee8cfb7f296b23e712",
       "placeholder": "​",
       "style": "IPY_MODEL_28c09e5d371045b694e7c4f64eed86f8",
       "tabbable": null,
       "tooltip": null,
       "value": " 8/8 [00:17&lt;00:00,  2.14s/it]"
      }
     },
     "2d5fa5f3b0e94f48a92b02290597aafa": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_76dd83039dce4294a6e99801d0eb74f0",
        "IPY_MODEL_8db7c700c563496dad8f3a7721e71530",
        "IPY_MODEL_b16385623831459186b4deb01e490d62"
       ],
       "layout": "IPY_MODEL_ab87b172b6264cb89ba6236cadea2936",
       "tabbable": null,
       "tooltip": null
      }
     },
     "30b2b4c6a1b4449499c88d084b963788": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_aef4c34d75ae47d89ef29cc777b164e5",
       "placeholder": "​",
       "style": "IPY_MODEL_f239466cd96b4dfb8637bb6a51d481de",
       "tabbable": null,
       "tooltip": null,
       "value": " 100/100 [07:31&lt;00:00, 10.17s/it]"
      }
     },
     "336835bd2a684d55a03376c7e1b4df50": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "35b8b93659c946ab95d6cd0cb56bf670": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "3796897b1a9e4a25b1bb904ce6f096c7": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_8f4c5be3ebc24dfab610b6859981b087",
       "max": 8,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_735af7e970dd4464a5d854eee9a3e5c3",
       "tabbable": null,
       "tooltip": null,
       "value": 8
      }
     },
     "3b5aa17daedd4789a758828f8f78de0d": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "3e072718258f45e08fa94e722e051f8e": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_628d791820bf4e4aa2619cc0786ad5db",
       "placeholder": "​",
       "style": "IPY_MODEL_dae8c230148749ac9b5cb403c14b7b14",
       "tabbable": null,
       "tooltip": null,
       "value": " 100/100 [06:20&lt;00:00,  8.58s/it]"
      }
     },
     "3f3114d7a6f14a12a5d76c002f05d42c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_eb96cc8906694c7c8befe82d37b28db7",
        "IPY_MODEL_52341a4bb3d3423983dcb4aab9018e90",
        "IPY_MODEL_e4659b2951fc4a32b2178c04286bbfcc"
       ],
       "layout": "IPY_MODEL_f2a5fa694edb4e849e14116e59f3e387",
       "tabbable": null,
       "tooltip": null
      }
     },
     "401691ca0df54c1fa88a2bcbdd8b02ce": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_a9a5f65793a1402cb20c41bd7cfb91c9",
       "placeholder": "​",
       "style": "IPY_MODEL_7846c6b63c6c4c6eaceaf3e2847ae131",
       "tabbable": null,
       "tooltip": null,
       "value": " 8/8 [55:03&lt;00:00, 495.01s/it]"
      }
     },
     "41201d103ac04d9a8c33913988ef4c97": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "418aa12a3f8c4f8aac2df21addce7388": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_c81bbb3becfd4fadbc1fa2c5dc17ba90",
        "IPY_MODEL_b2eb9269e078404597ad0b68727b5c03",
        "IPY_MODEL_30b2b4c6a1b4449499c88d084b963788"
       ],
       "layout": "IPY_MODEL_b1e212c785d5475789f29e04bc48235f",
       "tabbable": null,
       "tooltip": null
      }
     },
     "42c7d9c59e6e4f379140387598938549": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "49e6099b76704e2f8203930c4db38b23": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "4c5747bd71014ce4bfd363c50232284a": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "500c0f4849fd45ee8cfb7f296b23e712": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "5081416d5b3c467da369ba74519c7013": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_51f8e2cbb8b7431780d7bb5c8b0ee812",
       "placeholder": "​",
       "style": "IPY_MODEL_af714dd852dd4061b69117e59bba7dc0",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "51f8e2cbb8b7431780d7bb5c8b0ee812": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "51fdb510be8f42628738029db637e1ae": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "52341a4bb3d3423983dcb4aab9018e90": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_69ae1cfeeb674005b471ccec33c9d983",
       "max": 8,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_701c5b7c76d74d0695972959a56fc121",
       "tabbable": null,
       "tooltip": null,
       "value": 8
      }
     },
     "55c4b0dea2884d0c8f11e1fefcf292fd": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "55d3b79ac0ec4da5a91d1e9861277a8c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "599b2d279dd74f789cc17b8517e30247": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "5ab19858195e47ca91fdd8f01879721e": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "5e0355f6a3cf4fa8b5febf577bd24bd6": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_2a3a07ba6d42497b82417f2a78fa4872",
       "placeholder": "​",
       "style": "IPY_MODEL_27acb957412b49d9b35c1ea0f91d2c94",
       "tabbable": null,
       "tooltip": null,
       "value": " 100/100 [07:13&lt;00:00,  9.01s/it]"
      }
     },
     "5e8eb1d3e52d41469da8e426e7ccedc8": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_ecefe5c5458b4332b03251463da7a484",
        "IPY_MODEL_b6720293b41b4ae2ad3740d1055f23ba",
        "IPY_MODEL_2c0dffdd0a944cd88ecd9da96a4e65b4"
       ],
       "layout": "IPY_MODEL_4c5747bd71014ce4bfd363c50232284a",
       "tabbable": null,
       "tooltip": null
      }
     },
     "5f39df918f244b778f6d6bef6fa67010": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "60c76a22ac1c47a0ac870a71ccb5ff41": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_0695d363132b45f2818b8b472a2014ba",
        "IPY_MODEL_c35d4c58253a42fbbda56dc9d119b309",
        "IPY_MODEL_5e0355f6a3cf4fa8b5febf577bd24bd6"
       ],
       "layout": "IPY_MODEL_1b15c66f743744678a2c4b16057c9760",
       "tabbable": null,
       "tooltip": null
      }
     },
     "628d791820bf4e4aa2619cc0786ad5db": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "6958a8f57db545648377cbf0875f5b1e": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "69ae1cfeeb674005b471ccec33c9d983": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "6b835c31180a4187b620902cf37d15eb": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "6e77d21b344242dfafd268f5c437ad1a": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_5ab19858195e47ca91fdd8f01879721e",
       "max": 100,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_07099eb9d38441b3876499c0ff8a149d",
       "tabbable": null,
       "tooltip": null,
       "value": 100
      }
     },
     "701c5b7c76d74d0695972959a56fc121": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "735af7e970dd4464a5d854eee9a3e5c3": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "75f3b48ecfdc4888ba269881cfc30472": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "769e870db16c49bd8691aa40fd3a9a4e": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_bbefa43da3e6411bb4495e50edffb456",
       "placeholder": "​",
       "style": "IPY_MODEL_10c13b778a97452a95e5ca16f141a000",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "76dd83039dce4294a6e99801d0eb74f0": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_fb1e96645116483590d7c5825ef7df05",
       "placeholder": "​",
       "style": "IPY_MODEL_55c4b0dea2884d0c8f11e1fefcf292fd",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "7846c6b63c6c4c6eaceaf3e2847ae131": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "789c7beb83e544ed92e147ae0015e7a3": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_eae9d52697714623883fde1633f8cc46",
       "placeholder": "​",
       "style": "IPY_MODEL_049c367d4648434c9af28ca83e8096da",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "7aef4d1307a74da0b4e3055cb2bf56ed": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "7c721d6503504fb0aae1dfab78ce38c3": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "82d186791741493da0d69079bb9a87f4": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_6958a8f57db545648377cbf0875f5b1e",
       "max": 100,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_c88513189d534102b659cd2cf2bdbed2",
       "tabbable": null,
       "tooltip": null,
       "value": 100
      }
     },
     "85d7d060da59443bbbc6c9955ab38bd3": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "85da719a69044d498bee0d9454f4febf": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "86bed1ff017b4aee9982e85c6aa30539": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_cd6589c821284baaa81857b2c263deb5",
        "IPY_MODEL_0de31ab447204c209d1dbd05fff6239d",
        "IPY_MODEL_e00d925a38c84b91ada26d35417d1c2b"
       ],
       "layout": "IPY_MODEL_6b835c31180a4187b620902cf37d15eb",
       "tabbable": null,
       "tooltip": null
      }
     },
     "8700d6847e454370b2eabf78b4af85ca": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "8db7c700c563496dad8f3a7721e71530": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_03b979169b9742d5a2f03331c19857bc",
       "max": 100,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_e8c894b420f542808025fa1659f50d21",
       "tabbable": null,
       "tooltip": null,
       "value": 100
      }
     },
     "8e02a2ac5899413abaefe5c1fed1269f": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "8f4c5be3ebc24dfab610b6859981b087": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "9195da4a7ec44b318be83e414b19b114": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "9b59cf096a53449c8726bf8bca1acc5e": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "a2268a22b2cd46c7aa2afe933c66e372": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "a4174173d3a845fb879fe3553f570ee1": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "a7837fca3c1643d5a4685067492daa3b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_17e859dedc5d4731b046870b5747f76e",
       "placeholder": "​",
       "style": "IPY_MODEL_055144e229b6406c958d6bf615ac1c2a",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "a9a5f65793a1402cb20c41bd7cfb91c9": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "ab87b172b6264cb89ba6236cadea2936": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "abbbef829e974e0da61da50b1b5da0e5": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_a7837fca3c1643d5a4685067492daa3b",
        "IPY_MODEL_3796897b1a9e4a25b1bb904ce6f096c7",
        "IPY_MODEL_401691ca0df54c1fa88a2bcbdd8b02ce"
       ],
       "layout": "IPY_MODEL_aebae0928d3c4abaa0334ba4f0961b71",
       "tabbable": null,
       "tooltip": null
      }
     },
     "ac258305bc8244f387687a8be0be8fda": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_85d7d060da59443bbbc6c9955ab38bd3",
       "placeholder": "​",
       "style": "IPY_MODEL_336835bd2a684d55a03376c7e1b4df50",
       "tabbable": null,
       "tooltip": null,
       "value": " 100/100 [09:58&lt;00:00, 10.19s/it]"
      }
     },
     "aebae0928d3c4abaa0334ba4f0961b71": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "aed0692e19604f829e9f6df34c4e88a8": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "aef4c34d75ae47d89ef29cc777b164e5": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "af714dd852dd4061b69117e59bba7dc0": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "b0b402ecd5f2442d9bd66d8f7a547bc3": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "b12ea4ec268e414cb3d0a2c7f1d77c0e": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "b16385623831459186b4deb01e490d62": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_49e6099b76704e2f8203930c4db38b23",
       "placeholder": "​",
       "style": "IPY_MODEL_85da719a69044d498bee0d9454f4febf",
       "tabbable": null,
       "tooltip": null,
       "value": " 100/100 [08:33&lt;00:00,  9.77s/it]"
      }
     },
     "b19e9205e469486e9ff5fac67ab66b3b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_f944015dede34a08b3673fcc488b0d40",
       "placeholder": "​",
       "style": "IPY_MODEL_b7a408ec91d14f1b85f2b1c7caa5c9df",
       "tabbable": null,
       "tooltip": null,
       "value": " 100/100 [03:28&lt;00:00,  3.42s/it]"
      }
     },
     "b1e212c785d5475789f29e04bc48235f": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "b2eb9269e078404597ad0b68727b5c03": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_3b5aa17daedd4789a758828f8f78de0d",
       "max": 100,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_0207e172c7e24242accc316680798ede",
       "tabbable": null,
       "tooltip": null,
       "value": 100
      }
     },
     "b604cd87d35f42f39395d9f22c36b853": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "b6720293b41b4ae2ad3740d1055f23ba": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_ff0912de0b10452faa293271b663c847",
       "max": 8,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_42c7d9c59e6e4f379140387598938549",
       "tabbable": null,
       "tooltip": null,
       "value": 8
      }
     },
     "b7a408ec91d14f1b85f2b1c7caa5c9df": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "b8b8031fdc7543ae97901135670e543b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "bbefa43da3e6411bb4495e50edffb456": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "be6572ebc7814838b3bf2f685109ee03": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_769e870db16c49bd8691aa40fd3a9a4e",
        "IPY_MODEL_fa5fd8797c9042d6b1a2ca9b623e63c4",
        "IPY_MODEL_ac258305bc8244f387687a8be0be8fda"
       ],
       "layout": "IPY_MODEL_d21c6985b74a421c8b9c0662049941d9",
       "tabbable": null,
       "tooltip": null
      }
     },
     "c35d4c58253a42fbbda56dc9d119b309": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_8700d6847e454370b2eabf78b4af85ca",
       "max": 100,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_b604cd87d35f42f39395d9f22c36b853",
       "tabbable": null,
       "tooltip": null,
       "value": 100
      }
     },
     "c653041fb0844c52bbbb4181f1ac1e0c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_a2268a22b2cd46c7aa2afe933c66e372",
       "max": 100,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_186f9354464c43208bd882a650cec778",
       "tabbable": null,
       "tooltip": null,
       "value": 100
      }
     },
     "c81bbb3becfd4fadbc1fa2c5dc17ba90": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_2a151cd858c44fb78ce1d2c3b5f97bb3",
       "placeholder": "​",
       "style": "IPY_MODEL_e833e1e48ae64880acb5ce1d4c20ae30",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "c88513189d534102b659cd2cf2bdbed2": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "cd6589c821284baaa81857b2c263deb5": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_12085a6871f9475584ec441578e788ce",
       "placeholder": "​",
       "style": "IPY_MODEL_d186a7b3047f47988241ffb562c81f20",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "ce53fe2dbfce4d64aa0c986ca301faa9": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_d59e9362a19d4628a716642b68de216f",
       "placeholder": "​",
       "style": "IPY_MODEL_75f3b48ecfdc4888ba269881cfc30472",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "d186a7b3047f47988241ffb562c81f20": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "d21c6985b74a421c8b9c0662049941d9": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "d59e9362a19d4628a716642b68de216f": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "dae8c230148749ac9b5cb403c14b7b14": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "e00d925a38c84b91ada26d35417d1c2b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_ebaeb9fc537a490abac611cf1ac39031",
       "placeholder": "​",
       "style": "IPY_MODEL_b0b402ecd5f2442d9bd66d8f7a547bc3",
       "tabbable": null,
       "tooltip": null,
       "value": " 100/100 [04:14&lt;00:00,  4.55s/it]"
      }
     },
     "e062fc58bfea413795c6e1af21931fee": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_5081416d5b3c467da369ba74519c7013",
        "IPY_MODEL_6e77d21b344242dfafd268f5c437ad1a",
        "IPY_MODEL_3e072718258f45e08fa94e722e051f8e"
       ],
       "layout": "IPY_MODEL_9195da4a7ec44b318be83e414b19b114",
       "tabbable": null,
       "tooltip": null
      }
     },
     "e4659b2951fc4a32b2178c04286bbfcc": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_b12ea4ec268e414cb3d0a2c7f1d77c0e",
       "placeholder": "​",
       "style": "IPY_MODEL_9b59cf096a53449c8726bf8bca1acc5e",
       "tabbable": null,
       "tooltip": null,
       "value": " 8/8 [20:25&lt;00:00, 153.14s/it]"
      }
     },
     "e7b525f49246401c9e9e918834489f3b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_8e02a2ac5899413abaefe5c1fed1269f",
       "placeholder": "​",
       "style": "IPY_MODEL_b8b8031fdc7543ae97901135670e543b",
       "tabbable": null,
       "tooltip": null,
       "value": " 100/100 [07:42&lt;00:00,  8.79s/it]"
      }
     },
     "e833e1e48ae64880acb5ce1d4c20ae30": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "e8c894b420f542808025fa1659f50d21": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": ""
      }
     },
     "eae9d52697714623883fde1633f8cc46": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "eb96cc8906694c7c8befe82d37b28db7": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_139e631d6e5248fc8f652c23cdf90278",
       "placeholder": "​",
       "style": "IPY_MODEL_55d3b79ac0ec4da5a91d1e9861277a8c",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "ebaeb9fc537a490abac611cf1ac39031": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "ecefe5c5458b4332b03251463da7a484": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_f3960fcd2d0a49948c0c3fc499cfcc48",
       "placeholder": "​",
       "style": "IPY_MODEL_35b8b93659c946ab95d6cd0cb56bf670",
       "tabbable": null,
       "tooltip": null,
       "value": "100%"
      }
     },
     "f239466cd96b4dfb8637bb6a51d481de": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HTMLStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "background": null,
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "f2a5fa694edb4e849e14116e59f3e387": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "f3960fcd2d0a49948c0c3fc499cfcc48": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "f944015dede34a08b3673fcc488b0d40": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "fa1551851de3483792599dff74cb3554": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_789c7beb83e544ed92e147ae0015e7a3",
        "IPY_MODEL_82d186791741493da0d69079bb9a87f4",
        "IPY_MODEL_b19e9205e469486e9ff5fac67ab66b3b"
       ],
       "layout": "IPY_MODEL_aed0692e19604f829e9f6df34c4e88a8",
       "tabbable": null,
       "tooltip": null
      }
     },
     "fa5fd8797c9042d6b1a2ca9b623e63c4": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "",
       "description_allow_html": false,
       "layout": "IPY_MODEL_a4174173d3a845fb879fe3553f570ee1",
       "max": 100,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_41201d103ac04d9a8c33913988ef4c97",
       "tabbable": null,
       "tooltip": null,
       "value": 100
      }
     },
     "fb1e96645116483590d7c5825ef7df05": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "ff0912de0b10452faa293271b663c847": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
